Polynomial commitment scheme

Polynomial commitment schemes[KZG,10]

Bilinear Group: Univariate polynomials

:

  • Sample random
  • delete !! (trusted setup)

Honest prover:

:

  • , as is a root of
  • Compute and , using gp

:

check

Opening many polynomials at

Input: .
Verifier has commitments to 's wants to verifier correctness of 's.

Naive solution

Run KZG for each . Cost: group elemets in proof, pairings for verifier.

Batched opening

  • Verifier sends random
  • Prover computes combination
  • Verifier computes commitment to as
  • Prover and verifier use KZG to verify for
    Cost: verifier scalar muls to compute

open a polynomial at points

thm[BDFG]: We can open a polynomial at points with 2 verifier scalar mults no matter how large is.

KZG Ceremony

A distributed generation of s.t. no one can reconstruct the trapdoor if at least one of the participants is honest and discards their secrets.

  • Sample random , update with secret !
  • Check the correctness of
    • The contributor knows s.t.
    • consists of consecutive powers and